Embodiments of the present invention relate to a file system. Further embodiments of the present invention relate to a computer.
During the operation of the computer, data is requested continuously from a mass storage device. Mass storage devices have the advantage that the data stored in these mass storage devices are non-volatile and hence are still available after a restart of the computer. Furthermore, the relative costs per megabyte of a mass storage device are typically significantly lower than the costs for so-called direct access memory (random access memory—RAM). Nevertheless, a disadvantage of such mass storage devices, such as internal and external hard discs or tape drives (tape-libraries) are the higher access times when compared to volatile memories like RAM or cache.
Especially in the field of digital media, files may not be needed in their complete extent. A typical example is that for a preview of a high resolution picture a smaller representation is sufficient. A conventional file system provides the complete file and the program, which shows the preview calculates, based on the received file, a smaller preview file and shows this preview file. Some of these programs store the preview file such that for a repeated access large amounts of data don't have to be requested from the mass storage device again.
The use of so-called scalable files could be a solution. Scalable file formats, such as JPEG 2000 (single frame), H.264 SVC (video) or MPEG4-SLS (audio) are constructed by design, such that they allow a scalability in different dimensions, such as quality (single frame video and audio) or resolution (single frame and video).
Furthermore, if in the future today's available codecs are extended with scalability, the developer of corresponding decoders would have to extend all of these decoders such that upon request different variants of the new format could be provided. This effort would still be reasonable for software, but for hardware it would not be possible to support a new format without exchanging the corresponding hardware elements. As an example, conventional consumer graphic cards have a dedicated hardware which can decode an H.264 video in a given resolution, for example 1920×1080. A decoding of a file with a higher resolution is not possible in real time. But the extension scalable video coding (H.264-SVC) allows furthermore that a lower resolution can be extracted from a file. The result is a standard compliant H.264 file which the chip can decode in real time. Unfortunately, conventional chips available today are not capable of using the scalability, as they don't know about this feature. Hence, the conventional graphic cards are not capable of processing videos in a higher resolution in real time. On the one hand, this graphic card could process a lower resolution, but on the other hand they don't have the knowledge on how to receive the file with the lower resolution. The same applies to conventional software and other scalable formats.
From the perspective of the state-of-the-art mass storage devices, these mass storage devices have no knowledge about the type of file they administer. Hence, there is no difference if the file is a text document or a video.
Hence, the above described problems can be summarized as follows:
It is desired to keep the amount of data which is read from a mass storage device as low as possible, since such a mass storage device is in most cases too slow for delivering the complete files in real time or not necessarily the complete files are needed. But especially real time is in the field of image processing one of the main aspects, as especially during the playback of videos real time is a basic prerequisite for a user. Furthermore, another issue is that hardware and software are typically not upward compatible and have to be replaced if available codecs are extended by the feature of scalability.